1. Field of the Invention
The present invention generally relates to the performance modeling of information technology (“IT”) systems. More specifically, the present invention relates to the integration of queuing network modeling and inference techniques to model the performance of IT systems.
2. Description of the Related Art
With the rapid advances in Internet technology, electronic commerce (“e-commerce”) is becoming a mature business strategy. The concept of Quality of Service (“QoS”) is working its way to the front-line of e-business commitments and requirements, as it plays an important role in Internet applications, services, and price negotiations. In the growing competitive marketplace, IT administrators and planners are under constant pressure to have definitive answers for the following questions: How many users can the IT system support with the current infrastructure? What level of service quality is being delivered for each service? How fast can the site architecture be scaled up or down? What components should be upgraded? Is there enough capacity available to support the expected business opportunities and future growth? To solve these problems, e-businesses urgently need a formal process for planning and budgeting, for performance prediction, and for service-level agreement provisioning. Such a process would require a fundamental understanding of key issues such as capacity, scalability, availability, and reliability of an e-business infrastructure.
The characterization of an e-business infrastructure is quite complex, given the variety of system architectures, numerous emerging applications with different functions, and the vast diversity in user behaviors. Therefore, it is a challenging task to assess the e-business' capability of delivering end-to-end performance assurance across the entire IT environment, inclusive of all IT infrastructure components and applications. A commonly used approach to assess e-business performance is to directly measure the performance of the IT environment, either in the production system, i.e., the work environment, using real workloads, or on a test system using synthetic workloads. Measuring performance directly on the production system is risky since it requires exposing users to poor performance, which could drive away customers. On the other hand, having a testing site is a very expensive practice. The efforts would be enormous to simply duplicate the production system and certify the proper functioning of all the interconnected software and hardware components. In addition, since the workload space is continuous, it would be an insurmountably difficult task to test across all different load combinations.
An alternative approach to assess the performance of an IT system is through performance modeling. Performance modeling has become increasingly important in the design, engineering and optimization of IT infrastructures and applications. A modeling approach is particularly efficient in providing architects and engineers with qualitative and quantitative insights about the IT system under consideration. Despite its advantages, the modeling work is time consuming and requires good knowledge not only of the system, but also of modeling techniques.
One of the most popular paradigm of performance modeling is queuing networks, which resolves the problems discussed above. The primary advantage of a queuing model is that it captures the fundamental relationship between performance and capacity. The idea of using queuing networks to model computer systems in general, and Web systems in particular has been suggested (See L. Kleinrock; Queueing Systems Volume II. Computer Applications; John Wiley and Sons, 1976; and D. Menasce and V. Almeida; Capacity Planning for Web Performance; Prentice hall, 1998). That idea is based on building analytical models by representing each device in the IT system as a queue. Nevertheless, such approach requires knowledge of the service demands of each type of request for each device in the IT system. In real systems, such service demands can be very difficult to measure since they do not include the queuing delay that might occur. This not only requires knowledge of all the devices, but it also involves the collection of a massive amount of data to determine the service demands of each type of request at each device, given the large number of devices and diversity of request types. Practically one cannot afford to build such a detailed low-level queuing network model.
In light of the foregoing, there is a need in the art for systems and methods aimed at automating the process of performance modeling and optimization of IT infrastructure and applications so as to reduce both the equipment and labor costs, and shorten the turn-around time in performance assessment, prediction and capacity planning. Those systems and methods should enable IT managers to quantify, control and plan, efficiently and proactively, the utilization of the available capacity in e-business infrastructures.